//! @author Adam Emil Skoog
//! @date   2012-01-05

#ifndef MEHDI_HOUSE_H_
	#define MEHDI_HOUSE_H_
	#include "Body.h"
	#include "Image.h"
	#include "Level.h"

	namespace mehdi
	 {
		class House : public Body
		 {
			public:
				House();
				House &setImage(Image *const);
				Image *const getImage() const;
				House &setCameraMovementEnabled(const bool &enable = true);
				const bool &cameraMovementIsEnabled() const;
				House &setLevel(Level *const);
				Level *const getLevel() const;
				House &setMehdiSpawnPosition(const sf::Vector2f &);
				const sf::Vector2f &getMehdiSpawnPosition() const;
				void draw() const;
				void update();

			protected:
				void onCollision(Body *const);

			private:
				Image         *image;
				bool           inContactWithMehdi,
				               cameraMovementEnabled;
				Level         *level;
				sf::Vector2f   mehdiSpawnPosition;
		 };
	 }
#endif
